home *** CD-ROM | disk | FTP | other *** search
/ Champak 141 / (Vol 141) Oct 17 2011.iso / Games / Clueless.swf / scripts / Forms / ProfileForm.as < prev    next >
Encoding:
Text File  |  2011-10-17  |  7.6 KB  |  237 lines

  1. package Forms
  2. {
  3.    import flash.display.DisplayObject;
  4.    import flash.display.MovieClip;
  5.    import flash.display.SimpleButton;
  6.    import flash.events.Event;
  7.    import flash.events.MouseEvent;
  8.    import flash.text.TextField;
  9.    
  10.    [Embed(source="/_assets/assets.swf", symbol="Forms.ProfileForm")]
  11.    public class ProfileForm extends CluelessBaseForm
  12.    {
  13.        
  14.       
  15.       internal var slotnumberIndex:int;
  16.       
  17.       public var _mcModelBackground:MovieClip;
  18.       
  19.       internal var _iCurrentProfileIndex:int;
  20.       
  21.       internal var _bCurrentProfile:Boolean;
  22.       
  23.       public var _bCreate:SimpleButton;
  24.       
  25.       public var _slot0:ProfileDisplay;
  26.       
  27.       public var _mcModels:MovieClip;
  28.       
  29.       public var _slot1:ProfileDisplay;
  30.       
  31.       public var _bDeleteSlot0:SimpleButton;
  32.       
  33.       public var _bDown:ArrowTriangle;
  34.       
  35.       public var _tfDeleteSlot0:TextField;
  36.       
  37.       public var _bDeleteSlot1:SimpleButton;
  38.       
  39.       public var _tfDeleteSlot1:TextField;
  40.       
  41.       public var _bBack:SimpleButton;
  42.       
  43.       internal var _aFilters:Array;
  44.       
  45.       internal var _componentscroller:ComponentScroller;
  46.       
  47.       public var _bUp:ArrowTriangle;
  48.       
  49.       public function ProfileForm()
  50.       {
  51.          var _loc1_:MovieClip = null;
  52.          _componentscroller = new ComponentScroller();
  53.          super();
  54.          _componentscroller.setScrollButtons(_bUp,_bDown,this);
  55.          _componentscroller.BackgroundItems = 0;
  56.          _bCurrentProfile = false;
  57.          _componentscroller.addEventListener(ComponentScrollerEvent.COMPONENT_SCROLLER_UPDATED,onUpdated,false,0,true);
  58.          _bDeleteSlot0.addEventListener(MouseEvent.CLICK,onDeleteSlot,false,0,true);
  59.          _bDeleteSlot1.addEventListener(MouseEvent.CLICK,onDeleteSlot,false,0,true);
  60.          _aFilters = _slot0.filters;
  61.          _loc1_ = new MovieClip();
  62.          swapItem(_loc1_,_slot0);
  63.          _componentscroller.addSlot(_loc1_);
  64.          _loc1_ = new MovieClip();
  65.          swapItem(_loc1_,_slot1);
  66.          _componentscroller.addSlot(_loc1_);
  67.          setBackButton(_bBack);
  68.          installMouseOverSound(_bBack);
  69.          _bCreate.addEventListener(MouseEvent.CLICK,onCreateClicked,false,0,true);
  70.          rebuildList();
  71.          _tfDeleteSlot0.mouseEnabled = false;
  72.          _tfDeleteSlot1.mouseEnabled = false;
  73.       }
  74.       
  75.       override public function onFocus() : void
  76.       {
  77.          var _loc1_:Array = null;
  78.          var _loc2_:int = 0;
  79.          var _loc3_:ProfileDisplay = null;
  80.          super.onFocus();
  81.          _loc1_ = buildProfileLists();
  82.          _loc2_ = _iCurrentProfileIndex - 1;
  83.          _loc3_ = null;
  84.          trace("Num profiles = " + _loc1_.length);
  85.          if(_loc1_.length > 1 && _loc2_ == _loc1_.length - 1)
  86.          {
  87.             _loc2_--;
  88.          }
  89.          if(_loc2_ >= 0)
  90.          {
  91.             _componentscroller.setItems(_loc1_,_loc2_);
  92.          }
  93.          else
  94.          {
  95.             _componentscroller.setItems(_loc1_);
  96.          }
  97.          _componentscroller.update();
  98.          if(_bCurrentProfile == true && _loc1_.length > 0)
  99.          {
  100.             if(_loc1_.length == 1 || slotnumberIndex == 0)
  101.             {
  102.                _loc3_ = _componentscroller.getItemAtSlot(0) as ProfileDisplay;
  103.             }
  104.             else
  105.             {
  106.                _loc3_ = _componentscroller.getItemAtSlot(1) as ProfileDisplay;
  107.             }
  108.             Profile.CurrentProfile = Profile.getProfile(_loc3_.ProfileName);
  109.             Storage.getInstance().saveProfiles();
  110.          }
  111.       }
  112.       
  113.       protected function onMouseLeave(param1:MouseEvent) : void
  114.       {
  115.          var _loc2_:MovieClip = null;
  116.          _loc2_ = param1.currentTarget as MovieClip;
  117.          _loc2_.filters = null;
  118.       }
  119.       
  120.       protected function onMouseEnter(param1:MouseEvent) : void
  121.       {
  122.          var _loc2_:MovieClip = null;
  123.          _loc2_ = param1.currentTarget as MovieClip;
  124.          _loc2_.filters = _aFilters;
  125.       }
  126.       
  127.       protected function buildProfileLists() : Array
  128.       {
  129.          var _loc1_:Array = null;
  130.          var _loc2_:Profile = null;
  131.          var _loc3_:int = 0;
  132.          var _loc4_:ProfileDisplay = null;
  133.          _loc1_ = new Array();
  134.          _loc3_ = 0;
  135.          _iCurrentProfileIndex = 0;
  136.          for each(_loc2_ in Profile.ProfileList)
  137.          {
  138.             _loc3_++;
  139.             (_loc4_ = new ProfileDisplay()).init(_loc2_);
  140.             if(Profile.CurrentProfile == _loc2_)
  141.             {
  142.                _iCurrentProfileIndex = _loc3_;
  143.             }
  144.             setupItem(_loc4_);
  145.             _loc1_.push(_loc4_);
  146.          }
  147.          trace("Profile list has " + _loc1_.length);
  148.          return _loc1_;
  149.       }
  150.       
  151.       protected function setupItem(param1:MovieClip) : void
  152.       {
  153.          param1.addEventListener(MouseEvent.MOUSE_OVER,onMouseEnter,false,0,true);
  154.          param1.addEventListener(MouseEvent.MOUSE_OUT,onMouseLeave,false,0,true);
  155.          param1.addEventListener(MouseEvent.CLICK,onMouseClick,false,0,true);
  156.       }
  157.       
  158.       protected function onMouseClick(param1:MouseEvent) : void
  159.       {
  160.          var _loc2_:ProfileDisplay = null;
  161.          _loc2_ = param1.currentTarget as ProfileDisplay;
  162.          Profile.CurrentProfile = Profile.getProfile(_loc2_.ProfileName);
  163.          Storage.getInstance().saveProfiles();
  164.          _bCurrentProfile = false;
  165.          onBack(new MouseEvent(""));
  166.       }
  167.       
  168.       protected function swapItem(param1:DisplayObject, param2:DisplayObject) : void
  169.       {
  170.          addChildAt(param1,getChildIndex(param2));
  171.          param1.x = param2.x + param2.width / 2;
  172.          param1.y = param2.y + param2.height / 2;
  173.          removeChild(param2);
  174.       }
  175.       
  176.       protected function rebuildList() : void
  177.       {
  178.          _componentscroller.setItems(buildProfileLists());
  179.          _componentscroller.update();
  180.       }
  181.       
  182.       protected function onDeleteSlot(param1:MouseEvent) : void
  183.       {
  184.          var _loc2_:ProfileDisplay = null;
  185.          var _loc3_:ProfileDeleteForm = null;
  186.          _loc2_ = null;
  187.          if(param1.currentTarget == _bDeleteSlot0)
  188.          {
  189.             _loc2_ = _componentscroller.getItemAtSlot(0) as ProfileDisplay;
  190.             slotnumberIndex = 0;
  191.          }
  192.          else if(param1.currentTarget == _bDeleteSlot1)
  193.          {
  194.             _loc2_ = _componentscroller.getItemAtSlot(1) as ProfileDisplay;
  195.             slotnumberIndex = 1;
  196.          }
  197.          if(_loc2_ != null)
  198.          {
  199.             _loc3_ = new ProfileDeleteForm();
  200.             if(_loc2_.ProfileName == Profile.CurrentProfile.Name)
  201.             {
  202.                _bCurrentProfile = true;
  203.             }
  204.             _loc3_.init(_loc2_.ProfileName);
  205.             setForm(_loc3_);
  206.          }
  207.       }
  208.       
  209.       protected function onUpdated(param1:Event) : void
  210.       {
  211.          var _loc2_:ProfileDisplay = null;
  212.          var _loc3_:int = 0;
  213.          _loc2_ = null;
  214.          _loc3_ = 0;
  215.          while(_loc3_ < 2)
  216.          {
  217.             _loc2_ = _componentscroller.getItemAtSlot(_loc3_) as ProfileDisplay;
  218.             if(_loc2_ != null)
  219.             {
  220.                getChildByName("_bDeleteSlot" + _loc3_).visible = true;
  221.             }
  222.             else
  223.             {
  224.                getChildByName("_bDeleteSlot" + _loc3_).visible = false;
  225.             }
  226.             getChildByName("_tfDeleteSlot" + _loc3_).visible = getChildByName("_bDeleteSlot" + _loc3_).visible;
  227.             _loc3_++;
  228.          }
  229.       }
  230.       
  231.       protected function onCreateClicked(param1:MouseEvent) : void
  232.       {
  233.          setForm(new ProfileCreatePopupForm(),true);
  234.       }
  235.    }
  236. }
  237.